<?php

/**
 * Класс для обработки формы регистрации
 *
 * @author kingop
 */
class FormProcessor_TenderEdit extends FormProcessor {

    protected $db = null;               // объект для соединения с базой данных
    public $id = null;
    public $tender = null;                // объект класса DatabaseObject_User
    protected $_validateOnly = false;   // флаг, указывающий тип запроса: true = ajax

    public function __construct($db, $id) {
        parent::__construct();
        $this->db = $db;
        $this->tender = new DatabaseObject_Tender($db);
        $this->tender->load($id);
        $this->about = $this->tender->about;
        $this->name = $this->tender->name;
        $this->manager = $this->tender->manager;
        $this->end_date = $this->tender->end_date;
        $this->project = $this->tender->idProject;
        $this->cats = $this->tender->idCat;
        $this->start_date = $this->tender->start_date;
        $this->files = $this->tender->files;
    }

    public function process(Zend_Controller_Request_Abstract $request) {
        // проверим название
        $this->name = trim($request->getPost('name'));

        if (strlen($this->name) == 0)
            $this->addError('name', 'Вы должны указать название');
        else
            $this->tender->name = $this->name;


        // проверим описание
        $this->about = trim($request->getPost('about'));
        if (strlen($this->about) == 0)
            $this->addError('about', 'Вы должны указать описание');
        else
            $this->tender->about = $this->about;


        // проверим отвественного
        $this->manager = trim($request->getPost('manager'));
        if (strlen($this->manager) == 0)
            $this->addError('manager', 'Вы должны указать отвественного');
        else
            $this->tender->manager = $this->manager;

         // проверим дату начала
        $this->start_date = trim($request->getPost('start_date'));
        if (strlen($this->start_date) == 0)
            $this->addError('start_date', 'Вы должны указать дату окончания');
        else
            $this->tender->start_date = $this->start_date;
        
        // проверим дату окончания
        $this->end_date = trim($request->getPost('end_date'));
        if (strlen($this->end_date) == 0)
            $this->addError('end_date', 'Вы должны указать дату окончания');
        else
            $this->tender->end_date = $this->end_date;



        // проверим проект
        $this->project = $request->getPost('projects');
        if ($this->project == 0)
            $this->addError('project', 'Вы должны указать проект');
        else
            $this->tender->idProject = $this->project;

        // проверим категорию
        $this->cats = $request->getPost('cats');
        if ($this->cats == 0)
            $this->addError('category', 'Вы должны указать категорию');
        else
            $this->tender->idCat = $this->cats;

        // если не было ошибок, сохраним тендер
        /* if (!$this->_validateOnly && !$this->hasError()) {
          $this->tender->save();
          } */

        $this->file = $request->getPost('filesrc');
        $this->fileupload = $this->file;

        // если не было ошибок, сохраним тендер
        if (!$this->_validateOnly && !$this->hasError()) {
            $this->tender->save();
            echo $id = $this->tender->getId();
            print_r($this->fileupload);

            foreach ($this->fileupload as $val) {
                if (DatabaseObject_TendersFiles::UploadFile($this->db, $id, $val))
                    echo 'Yes';

                echo 'No';
            }
        }

        return !$this->hasError();
    }

}

?>
